/*
 * Obstaculo.h
 *
 *  Created on: 01/09/2012
 *      Author: rodrigo
 */

#ifndef OBSTACULO_H_
#define OBSTACULO_H_

#include <string>
#include "SDL/SDL.h"
#include "../ObjetoEstatico.h"
#include <iostream>

#define DEFAULT_OBSTACULO "../Resources/default_obstaculo.bmp"

typedef struct objetoInclinado {
	Punto posSupIzq;
	Punto posInfIzq;
	Punto posSupDer;
	Punto posInfDer;
} objetoInclinado;

using namespace std;

class Obstaculo : public ObjetoEstatico {

        int angulo;
		
	public:
	
            objetoInclinado vertices;
		Obstaculo(int x, int y, string rutaImagen, int ancho, int alto, int maximoX, int maximoY, int angulo = 0);
		void CalcularVertices(int ancho, int alto, int angulo, int x, int y);
		virtual ~Obstaculo();
		int getAngulo();
		void setAngulo(int ang);
		
		//virtual pair<idImagen_t, int> getDibujable(Uint32 time);

		bool isDentro(Punto point, int pAlto, int pAncho);
		idImagen_t getIdImagen();

		virtual bool ColisionOblicua(ObjetoEstatico* personaje);
};

#endif /* OBSTACULO_H_ */
